package pe.gob.foncodes.ssa.bs.seguridad.domain;

import java.io.Serializable;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Embeddable;
import javax.validation.constraints.NotNull;

/**
 *
 * @author Gcarlos
 */
@Embeddable
public class PerfilOpcionPK implements Serializable {
    
    private Long nidPerfil;
    private Long nidOpcion;

    public PerfilOpcionPK() {
    }

    public PerfilOpcionPK(Long nidPerfil, Long nidOpcion) {
        this.nidPerfil = nidPerfil;
        this.nidOpcion = nidOpcion;
    }

    @Basic(optional = false)
    @NotNull
    @Column(name = "NID_PERFIL", nullable = false)
    public Long getNidPerfil() {
        return nidPerfil;
    }

    public void setNidPerfil(Long nidPerfil) {
        this.nidPerfil = nidPerfil;
    }

    @Basic(optional = false)
    @NotNull
    @Column(name = "NID_OPCION", nullable = false)
    public Long getNidOpcion() {
        return nidOpcion;
    }

    public void setNidOpcion(Long nidOpcion) {
        this.nidOpcion = nidOpcion;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (nidPerfil != null ? nidPerfil.hashCode() : 0);
        hash += (nidOpcion != null ? nidOpcion.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof PerfilOpcionPK)) {
            return false;
        }
        PerfilOpcionPK other = (PerfilOpcionPK) object;
        if ((this.nidPerfil == null && other.nidPerfil != null) || (this.nidPerfil != null && !this.nidPerfil.equals(other.nidPerfil))) {
            return false;
        }
        if ((this.nidOpcion == null && other.nidOpcion != null) || (this.nidOpcion != null && !this.nidOpcion.equals(other.nidOpcion))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "pe.gob.foncodes.ssa.bs.seguridad.domain.PerfilOpcionPK[ nidPerfil=" + nidPerfil + ", nidOpcion=" + nidOpcion + " ]";
    }
    
}
